emacs.git
2 years agoffap.el: Exclude angle brackets from file names in XML
StrawberryTea [Sat, 9 Mar 2024 21:37:44 +0000 (15:37 -0600)]
ffap.el: Exclude angle brackets from file names in XML

* lisp/ffap.el (ffap-string-at-point-mode-alist): Add elements for
XML, to better recognize file names in XML buffers.

Copyright-paperwork-exempt: yes

2 years agoAdd bounds-of-thing-at-point property for 'number'
Visuwesh [Sat, 9 Mar 2024 09:47:26 +0000 (15:17 +0530)]
Add bounds-of-thing-at-point property for 'number'

* lisp/thingatpt.el (thing-at-point-decimal-regexp)
(thing-at-point-hexadecimal-regexp): Extract regexps from...
(number-at-point): ...here.  Use them in 'number-at-point'.
(number): Add 'bounds-of-thing-at-point' property as
`forward-word' does not always return the right boundary,
e.g., in latex-mode buffers.  (Bug#69239)

2 years ago; Fix last change (bug#68604)
Eli Zaretskii [Thu, 14 Mar 2024 09:32:00 +0000 (11:32 +0200)]
; Fix last change (bug#68604)

* lisp/xwidget.el (xwidget-webkit-disable-javascript): Move from
here...
* lisp/cus-start.el (standard): ...to here.

* src/xwidget.c (syms_of_xwidget)
<xwidget-webkit-disable-javascript>: Doc fix.

* doc/emacs/misc.texi (Embedded WebKit Widgets): Fix wording.

2 years agoAdd user option to disable JavaScript in xwidget webview
Noé Lopez [Fri, 19 Jan 2024 22:40:53 +0000 (23:40 +0100)]
Add user option to disable JavaScript in xwidget webview

* src/xwidget.c: Add the 'xwidget-webkit-disable-javascript'
variable to disable JavaScript in WebKit sessions.  (Bug#68604)

* etc/NEWS:
* doc/emacs/misc.texi (Embedded Webkit Widgets): Document
the change.

2 years ago* lisp/emacs-lisp/vtable.el (vtable-update-object): Fix.
Adam Porter [Sat, 9 Mar 2024 04:28:52 +0000 (22:28 -0600)]
* lisp/emacs-lisp/vtable.el (vtable-update-object): Fix.

The order of the arguments to 'seq-position' was wrong, and it did not
compare the correct values.  (Bug#69664)

2 years ago; Fix last change to compile with mingw.org's MinGW
Eli Zaretskii [Thu, 14 Mar 2024 08:22:52 +0000 (10:22 +0200)]
; Fix last change to compile with mingw.org's MinGW

* src/w32xfns.c:
* src/w32fns.c (WTS_VIRTUAL_CLASS) [!MINGW_W64]: Declare.
* src/w32xfns.c: Include wtsapi32.h.

2 years agoFix resetting keyboard hook state on MS-Windows
Raffael Stocker [Mon, 4 Mar 2024 18:06:07 +0000 (19:06 +0100)]
Fix resetting keyboard hook state on MS-Windows

Register session notifications so Emacs is notified when the
computer is being locked, as required to reset the low level
keyboard hook state.  (Bug#69083).
* src/w32term.h:
* src/w32fns.c (setup_w32_kbdhook, remove_w32_kbdhook)
(w32_wnd_proc, globals_of_w32fns, maybe_pass_notification):
Register and manage session notifications in GUI Emacs.
* src/w32console.c (initialize_w32_display, find_ime_window):
* src/w32xfns.c (drain_message_queue): Register notifications
and reset keyboard hook state in console Emacs.
* src/w32.c (term_ntproc): Un-register session notifications
when terminating.

2 years ago* exec/trace.c (rpl_stpcpy): Replace stpcpy if absent.
Po Lu [Thu, 14 Mar 2024 06:21:49 +0000 (14:21 +0800)]
* exec/trace.c (rpl_stpcpy): Replace stpcpy if absent.

2 years agoImprove /proc/self/exe substitution on Android
Po Lu [Thu, 14 Mar 2024 05:45:48 +0000 (13:45 +0800)]
Improve /proc/self/exe substitution on Android

* exec/configure.ac (USER_SWORD): New macro.

* exec/exec.c (format_pid): Export this function.

* exec/exec.h:

* exec/trace.c (canon_path): New function.
(handle_readlinkat, handle_openat): Test complete file name
against /proc/self/exe, and further check for /proc/pid/exe.

2 years ago; * java/org/gnu/emacs/EmacsDesktopNotification.java (display1): Another fix.
Po Lu [Thu, 14 Mar 2024 00:24:42 +0000 (08:24 +0800)]
; * java/org/gnu/emacs/EmacsDesktopNotification.java (display1): Another fix.

2 years agons_select fix for macOS terminals (bug#69561)
Gerd Möllmann [Wed, 13 Mar 2024 19:27:20 +0000 (20:27 +0100)]
ns_select fix for macOS terminals (bug#69561)

* src/nsterm.m (ns_select_1): Return early for terminals.

2 years agoFix name of gnus-notification(s)-close; ignore argument
Eric Abrahamsen [Wed, 13 Mar 2024 14:38:49 +0000 (07:38 -0700)]
Fix name of gnus-notification(s)-close; ignore argument

* lisp/gnus/gnus-notifications.el (gnus-notifications-close): Original
name was probably a typo.

2 years agoFix crash when displaying notifications on Android 3.0
Po Lu [Wed, 13 Mar 2024 07:33:24 +0000 (15:33 +0800)]
Fix crash when displaying notifications on Android 3.0

* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Don't call setPriority until Jelly Bean.

2 years agoPrevent freezes on macOS (bug#69561)
Gerd Möllmann [Sat, 9 Mar 2024 14:06:29 +0000 (15:06 +0100)]
Prevent freezes on macOS (bug#69561)

* src/nsterm.m (ns_select_1): Store pending input_events. Always call
[NSApp run].

2 years agoPort more notification senders to non-XDG systems
Po Lu [Wed, 13 Mar 2024 02:59:39 +0000 (10:59 +0800)]
Port more notification senders to non-XDG systems

* doc/lispref/os.texi (Desktop Notifications): Document that
`:timeout' is now implemented.

* java/org/gnu/emacs/EmacsDesktopNotification.java
(EmacsDesktopNotification): New field delay.
(display1): Set delay on Android 8.0 and up.

* lisp/erc/erc-desktop-notifications.el
(erc-notifications-notify): Call Android or Haiku notification
functions on those systems.

* lisp/gnus/gnus-notifications.el (gnus-notifications-action)
(gnus-notification-close): Remove dismissed notifications from
the notification to message map.
(gnus-notifications-notify): Call android-notifications-notify
if possible.

* src/androidselect.c (android_init_emacs_desktop_notification):
Update accordingly.
(android_notifications_notify_1): New argument TIMEOUT.
(Fandroid_notifications_notify): New argument QCtimeout.
(syms_of_androidselect) <QCtimeout>: New symbol.

2 years agoTry and avoid hardcoding lists of function types
Stefan Monnier [Tue, 12 Mar 2024 20:09:23 +0000 (16:09 -0400)]
Try and avoid hardcoding lists of function types

* lisp/bind-key.el (bind-key--get-binding-description):
Show docstrings for compiled functions also.  Don't hardcode knowledge
about various particular kinds of functions.

* lisp/emacs-lisp/bytecomp.el (display-call-tree): Remove special
support for functions with a `byte-code` body since we never generate
that nowadays.  Don't hardcode knowledge
about various particular kinds of functions.

2 years agoCleanup some type predicates
Stefan Monnier [Tue, 12 Mar 2024 19:43:43 +0000 (15:43 -0400)]
Cleanup some type predicates

Use the new `cl--define-built-in-type` to reduce the manually
maintained list of built-in type predicates.
Also tweak docstrings to use "supertype" rather than "super type",
since it seems to be what we use elsewhere.

* lisp/subr.el (special-form-p): Remove redundant `fboundp` test.
(compiled-function-p): Don'Return nil for subrs that aren't functions.

* lisp/emacs-lisp/cl-macs.el (type predicates): Trim down the list.

* lisp/emacs-lisp/cl-preloaded.el (cl--define-built-in-type):
Register the corresponding predicate if applicable.
(atom, null): Specify the predicate name explicitly.

2 years agocl-generic: Signal an error when a type specializer won't work
Stefan Monnier [Tue, 12 Mar 2024 16:00:17 +0000 (12:00 -0400)]
cl-generic: Signal an error when a type specializer won't work

* lisp/emacs-lisp/cl-generic.el (cl--generic--unreachable-types): New var.
(cl-generic-generalizers :extra "typeof"): Use it to signal an
error for those types we can't handle.

2 years ago; * admin/MAINTAINERS: Add Daniel Pettersson.
Eli Zaretskii [Tue, 12 Mar 2024 13:30:18 +0000 (15:30 +0200)]
; * admin/MAINTAINERS: Add Daniel Pettersson.

2 years agoJsonrpc: improve performance of process filter function
Daniel Pettersson [Wed, 28 Feb 2024 12:03:56 +0000 (13:03 +0100)]
Jsonrpc: improve performance of process filter function

`run-at-time' keeps `timer-list' list sorted by inserting each
timer based on the timer value.  This means that
`timer--time-less-p' needs is executed ~N*N/2 times for each N
pending messages.  This means that jsonrpc becomes unusable
for connections that generate a lot messages at the same time.

* lisp/jsonrpc.el (Version): Bump to 1.0.25.
(jsonrpc--process-filter): Improve performance by activating
timers in a different order.  (Bug#69241)

2 years ago(comp-known-predicates): Fix overly optimistic `functionp`
Stefan Monnier [Tue, 12 Mar 2024 12:48:09 +0000 (08:48 -0400)]
(comp-known-predicates): Fix overly optimistic `functionp`

* lisp/emacs-lisp/comp.el (comp-known-predicates): `functionp` can also
be true for `cons` objects.

2 years agoFix CheckJNI crash on Android 2.2
Po Lu [Tue, 12 Mar 2024 04:24:59 +0000 (12:24 +0800)]
Fix CheckJNI crash on Android 2.2

* src/androidfns.c (syms_of_androidfns_for_pdumper): Don't free
local reference to script name if nonexistent.

2 years ago; Check in missing change to AndroidManifest.xml.in
Po Lu [Tue, 12 Mar 2024 02:46:00 +0000 (10:46 +0800)]
; Check in missing change to AndroidManifest.xml.in

* java/AndroidManifest.xml.in: Register CancellationReceiver.

2 years ago(gnus-convert-old-newsrc): Remove ancient converters
Stefan Monnier [Tue, 12 Mar 2024 01:51:29 +0000 (21:51 -0400)]
(gnus-convert-old-newsrc): Remove ancient converters

* lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): Remove converters
from 2004 and before.
* lisp/gnus/legacy-gnus-agent.el: Delete file.

2 years agoResolve inconsistency between Android and XDG notifications
Po Lu [Tue, 12 Mar 2024 01:58:51 +0000 (09:58 +0800)]
Resolve inconsistency between Android and XDG notifications

* doc/lispref/os.texi (Desktop Notifications):

* src/androidselect.c (android_notifications_notify_1)
(Fandroid_notifications_notify, android_notification_action)
(syms_of_androidselect): Rename `:on-cancel' to `:on-close'.

2 years ago; Fix omission from last change
Po Lu [Tue, 12 Mar 2024 01:54:54 +0000 (09:54 +0800)]
; Fix omission from last change

* src/androidselect.c (android_notification_deleted): Adjust for
changed notification list format.

2 years agoImplement notification residency on Android
Po Lu [Tue, 12 Mar 2024 01:48:53 +0000 (09:48 +0800)]
Implement notification residency on Android

* doc/lispref/os.texi (Desktop Notifications): Document support
for `:resident'.

* java/org/gnu/emacs/EmacsService.java (cancelNotification):

* src/android.c (android_init_emacs_service):

* src/android.h (struct android_emacs_service): New function.

* src/androidselect.c (android_notifications_notify_1)
(Fandroid_notifications_notify): New parameter QCresident; save
it within notification lists.
(android_notification_deleted, android_notification_action):
Adjust for changes to the format of notification lists and
cancel non-resident notifications when an action is selected.
(syms_of_androidselect): <QCresident>: New symbol.

2 years agoFix notification cancellation detection on Android
Po Lu [Tue, 12 Mar 2024 00:51:52 +0000 (08:51 +0800)]
Fix notification cancellation detection on Android

* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Don't specify FLAG_ONE_SHOT in cancel intents.

2 years agoImplement notification callbacks on Android
Po Lu [Mon, 11 Mar 2024 13:40:47 +0000 (21:40 +0800)]
Implement notification callbacks on Android

* doc/lispref/os.texi (Desktop Notifications): Document that
:on-cancel, :on-action and :actions are now supported on
Android.

* java/org/gnu/emacs/EmacsActivity.java (onNewIntent): New
function.

* java/org/gnu/emacs/EmacsDesktopNotification.java
(NOTIFICATION_ACTION, NOTIFICATION_TAG, NOTIFICATION_DISMISSED):
New constants.  <actions, titles>: New fields.
(insertActions): New function.
(display1, display): Insert actions on Jelly Bean and up, and
arrange to be notified when the notification is dismissed.
(CancellationReceiver): New class.

* java/org/gnu/emacs/EmacsNative.java (sendNotificationDeleted)
(sendNotificationAction): New functions.

* src/android.c (sendDndDrag, sendDndUri, sendDndText): Correct
return types.
(sendNotificationDeleted, sendNotificationAction)
(android_exception_check_5, android_exception_check_6): New
functions.

* src/android.h:

* src/androidgui.h (struct android_notification_event): New
structure.
(union android_event): New member for notification events.

* src/androidselect.c (android_init_emacs_desktop_notification):
Update JNI signatures.
(android_notifications_notify_1, Fandroid_notifications_notify):
New arguments ACTIONS, ACTION_CB and CANCEL_CB.  Convert and
record them as appropriate.
(android_notification_deleted, android_notification_action): New
functions.
(syms_of_androidselect): Prepare a hash table of outstanding
notifications.
<QCactions, QCon_action, QCon_cancel> New defsyms.

* src/androidterm.c (handle_one_android_event)
<ANDROID_NOTIFICATION_DELETED>
<ANDROID_NOTIFICATION_ACTION>: Dispatch event contents to
androidselect.c for processing.

* src/androidterm.h:

* src/androidvfs.c (java_string_class): Export.

* src/keyboard.c (kbd_buffer_get_event) <NOTIFICATION_EVENT>:
Call callback specified by the event.

* src/termhooks.h (enum event_kind) [HAVE_ANDROID]: New
enum NOTIFICATION_EVENT.

2 years ago; Fix error message in last change to bindat.el
Basil L. Contovounesios [Mon, 11 Mar 2024 10:16:20 +0000 (11:16 +0100)]
; Fix error message in last change to bindat.el

Remove trailing period as per "(elisp) Error Symbols".

Relates to the following discussion:
https://lists.gnu.org/r/emacs-devel/2023-10/msg00473.html
https://lists.gnu.org/r/emacs-devel/2024-03/msg00340.html

2 years agoChange bare-symbol back to match intent
Paul Eggert [Mon, 11 Mar 2024 07:03:39 +0000 (00:03 -0700)]
Change bare-symbol back to match intent

Also, attempt to document the intent better.
Problem reported by Alan Mackenzie (Bug#69684).
* src/data.c (Fbare_symbol): Do not signal if the SYM is a symbol
with position and symbols-with-pos-enabled is nil.  Instead,
ignore symbols-with-pos-enabled, as that was the intent.
* test/src/data-tests.el (data-tests-bare-symbol):
New test, to help prevent this bug from reoccurring.

2 years agoImprove pp-emacs-lisp-code backquote form printing
Michael Heerdegen [Sun, 18 Feb 2024 00:55:54 +0000 (01:55 +0100)]
Improve pp-emacs-lisp-code backquote form printing

* lisp/emacs-lisp/pp.el (pp--quoted-or-unquoted-form-p): New helper
function.
(pp--insert-lisp): Take care of quoted, backquoted and
unquoted expressions; print using an recursive call.
(pp--format-list): Exclude more cases from printing as a function call
by default.  Print lists whose second-last element is an (un)quoting
symbol using dotted list syntax; e.g. (a b . ,c) instead of (a b \, c).

2 years agoFix pp-emacs-lisp-code printing of symbols
Michael Heerdegen [Sun, 18 Feb 2024 01:48:15 +0000 (02:48 +0100)]
Fix pp-emacs-lisp-code printing of symbols

* lisp/emacs-lisp/pp.el (pp--insert-lisp): Print symbols
readably (bug#69168).

2 years ago(bindat--unpack-item): Sanitize vector length
Petteri Hintsanen [Mon, 11 Mar 2024 03:30:11 +0000 (23:30 -0400)]
(bindat--unpack-item): Sanitize vector length

Copyright-paperwork-exempt: yes

* lisp/emacs-lisp/bindat.el (bindat--unpack-item): Sanitize vector length

2 years agoAvoid dependency on nonexisting target in lispref makefile
Andreas Schwab [Sun, 10 Mar 2024 22:02:26 +0000 (23:02 +0100)]
Avoid dependency on nonexisting target in lispref makefile

* doc/lispref/Makefile.in (auxfiles): Change target into a
variable.
($(buildinfodir)/elisp.info): Adjust dependency.
(infoclean): Clean $(auxfiles).

2 years agoLet 'browse-url-interactive-arg' return more values for NEW-WINDOW-FLAG
Jim Porter [Fri, 8 Mar 2024 05:55:45 +0000 (21:55 -0800)]
Let 'browse-url-interactive-arg' return more values for NEW-WINDOW-FLAG

Previously it always returned t or nil for NEW-WINDOW-FLAG, but now it
can return the actual prefix arg when appropriate.  This lets functions
for 'browse-url-browser-function' consult it and do more things than
just open a new window or not (for example, you could use "C--" as the
prefix arg to do something special in a custom function).

* lisp/net/browse-url.el (browse-url-interactive-arg): Use 'xor' to
adjust the value of 'current-prefix-arg'.
(browse-url): Update docstring.

2 years agosyncdoc-type-hierarchy.el: Sort and remove `comp` dependency
Stefan Monnier [Sun, 10 Mar 2024 19:12:00 +0000 (15:12 -0400)]
syncdoc-type-hierarchy.el: Sort and remove `comp` dependency

* admin/syncdoc-type-hierarchy.el: Delay loading `org-table` so as
not to "pollute" the table with Org-specific types.
(syncdoc-all-types): Sort the types topologically from the root.
(syncdoc-hierarchy): Use `cl--class-parents` instead if
`comp--direct-supertypes` so we don't depend on `comp-cstr`.
(syncdoc-make-type-table): Sort the table so supertypes always come before
their subtypes.
(syncdoc-make-type-table): Require `org-table` here.

* doc/lispref/elisp_type_hierarchy.jpg:
* doc/lispref/elisp_type_hierarchy.txt: Refresh.

2 years ago* src/keyboard.c (read_key_sequence): Remove MSVC compatibility hack
Tim Ruffing [Sat, 9 Mar 2024 11:15:22 +0000 (12:15 +0100)]
* src/keyboard.c (read_key_sequence): Remove MSVC compatibility hack

2 years ago* lisp/calc/calc-prog.el: Switch to new method of detecting end of kbd macro
Tim Ruffing [Sat, 9 Mar 2024 11:29:39 +0000 (12:29 +0100)]
* lisp/calc/calc-prog.el: Switch to new method of detecting end of kbd macro

'read-char' will no longer return -1 as of
ac82baea1c41ec974ad49f2861ae6c06bda2b4ed. This switches to a cleaner
method of detecting whether the end of a keyboard macro has been
reached.

* lisp/calc/calc-prog.el (calc--at-end-of-kmacro-p): New function.
(calc-kbd-skip-to-else-if): Use the function.

Co-authored-by: Stefan Monnier <monnier@iro.umontreal.ca>
2 years agoRemove workarounds for solved 'read-event' bug
Tim Ruffing [Wed, 27 Dec 2023 13:32:09 +0000 (14:32 +0100)]
Remove workarounds for solved 'read-event' bug

* lisp/subr.el (read-char-choice-with-read-key):
* lisp/net/dbus.el (dbus-call-method):
Remove workarounds for the bug fixed in the previous commit
ac82baea1c41ec974ad49f2861ae6c06bda2b4ed, where 'read-event',
'read-char' and 'read-char-exclusively' could return wrongly -1.
In the case of lisp/dbus.el, this reverts commit
7177393826c73c87ffe9b428f0e5edae244d7a98.

2 years agoContinue reading in 'read-event' etc. at the end of a keyboard macro
Tim Ruffing [Wed, 27 Dec 2023 13:32:09 +0000 (14:32 +0100)]
Continue reading in 'read-event' etc. at the end of a keyboard macro

This fixes a bug that could make 'read-event', 'read-char', and
'read-char-exclusive' erroneously return -1, an internal magic return
value of 'read_char' leaked from C to lisp. Instead of returning -1, the
aforementioned lisp functions now transparently continue reading
available input (e.g., from the keyboard) when reaching the end of a
keyboard macro.

* src/keyboard.c (read_char, read_key_sequence): Move handling
of the end of a keyboard macro from 'read_char' to its caller
'read_key_sequence', which is the only caller that can
meaningfully deal with this case.
* src/macros.c (Fexecute_kbd_macro): Document how the end of keyboard
macro is processed.
* etc/NEWS: Announce this change.

2 years ago* src/keyboard.c (requeued_events_pending_p): New function
Tim Ruffing [Wed, 27 Dec 2023 13:29:34 +0000 (14:29 +0100)]
* src/keyboard.c (requeued_events_pending_p): New function

* src/keyboard.c, src/keyboard.h (requeued_events_pending_p): Add
function 'requeued_events_pending_p' (whose name was made available in
the previous commit). As opposed to the previous function with the same
name, the new function covers both command and other events.
* src/keyboard.c (Finput_pending_p): Use the new function.

2 years ago* src/keyboard.c (requeued_events_pending_p): Improve name and fix comment
Tim Ruffing [Wed, 27 Dec 2023 13:29:34 +0000 (14:29 +0100)]
* src/keyboard.c (requeued_events_pending_p): Improve name and fix comment

* src/keyboard.c, src/keyboard.h (requeued_events_pending_p): Rename to
'requeued_command_events_pending_p' to clarify that the function covers
only command events. Fix wrong comment that claimed that the function
was unused.
* src/process.c (wait_reading_process_output): Update caller to use the
new name.

2 years agoExtract check for end of macro to function
Tim Ruffing [Wed, 27 Dec 2023 13:26:26 +0000 (14:26 +0100)]
Extract check for end of macro to function

* src/macros.h (at_end_of_macro_p):
* src/macros.c (at_end_of_macro_p):
New function.
* src/keyboard.c (read_char): Use the new function.

2 years agoFix faulty decoded-time adjustment in erc-stamp
F. Jason Park [Sun, 10 Mar 2024 13:08:30 +0000 (06:08 -0700)]
Fix faulty decoded-time adjustment in erc-stamp

* lisp/erc/erc-stamp.el (erc-stamp--lr-date-on-pre-modify): Remove
disruptive assertion for now.
(erc-stamp--time-as-day): Attempt to fix date being rewound by a whole
day when daylight saving time is in effect.  Do this by forcing the
`dst' slot of the `decoded-time' object to -1 and the `zone' to nil.

2 years agoRedefine erc-spoiler-face to indicate revealed text
F. Moukayed [Fri, 8 Mar 2024 08:39:03 +0000 (08:39 +0000)]
Redefine erc-spoiler-face to indicate revealed text

* lisp/erc/erc-goodies.el (erc-spoiler-face): Redefine role and redo
definition to inherit from `erc-control-default-face'.
(erc-controls-propertize): Include `cursor-face' in the applied hover
properties for spoiler text, and ensure they aren't clobbered by other
built-in modules, like `button'.
(Bug#69597)

Copyright-paperwork-exempt: yes

2 years agoMake important text props more resilient in ERC
F. Jason Park [Fri, 8 Mar 2024 05:53:23 +0000 (21:53 -0800)]
Make important text props more resilient in ERC

* lisp/erc/erc-button.el (erc-button-remove-old-buttons): Restore
original `mouse-face' values in areas marked as important after
clobbering.
* lisp/erc/erc.el (erc--reserve-important-text-props): New function.
(erc--restore-important-text-props): New function.
* test/lisp/erc/erc-tests.el (erc--restore-important-text-props): New
test.
(Bug#69597)

2 years agoLeverage inverse-video for erc-inverse-face
F. Jason Park [Fri, 8 Mar 2024 05:53:11 +0000 (21:53 -0800)]
Leverage inverse-video for erc-inverse-face

* lisp/erc/erc-goodies.el (erc-inverse-face): Specify face attribute
`:inverse-video' (née :reverse-video) to swap foreground and
background colors over affected intervals, as per
https://modern.ircdocs.horse/formatting#reverse-color.
(erc-control-default-fg erc-control-default-bg): New faces for IRC
color-code number 99.  Ignore the ERC convention of prefixing
control-code-derived faces with "fg:" and "bg:" because it doesn't
comport with modern sensibilities, which demand identifiers normally
be namespaced.
(erc-get-bg-color-face, erc-get-fg-color-face): Return new, dedicated
faces instead of `default', and don't nest them in a list.
* test/lisp/erc/erc-goodies-tests.el
(erc-controls-highlight--inverse): Redo completely, asserting behavior
described in the spec linked to above.
(erc-controls-highlight--spoilers): New test based on the body of the
old `erc-controls-highlight--inverse', except without shadowing
`erc-insert-modify-hook' with an unrealistic, idealized value.  Adjust
expected buffer state to reflect the new role of
`erc-spoiler-face'.  (Bug#69597)

2 years ago; * java/org/gnu/emacs/EmacsPreferencesActivity.java: Fix commentary.
Po Lu [Sun, 10 Mar 2024 02:37:14 +0000 (10:37 +0800)]
; * java/org/gnu/emacs/EmacsPreferencesActivity.java: Fix commentary.

2 years agoMerge branch 'make-ts-derived-modes'
Stefan Monnier [Sat, 9 Mar 2024 15:38:10 +0000 (10:38 -0500)]
Merge branch 'make-ts-derived-modes'

2 years ago(eglot-server-programs): Comment and whitespace only change
Stefan Monnier [Fri, 8 Mar 2024 17:39:59 +0000 (12:39 -0500)]
(eglot-server-programs): Comment and whitespace only change

* lisp/progmodes/eglot.el (eglot-server-programs): Add comment.
Make the definition fit into 80 columns.

2 years agoSimplify mode-indexed tables in packages
Stefan Monnier [Fri, 8 Mar 2024 17:50:33 +0000 (12:50 -0500)]
Simplify mode-indexed tables in packages

Now that we use extra-parents to group alternative major modes,
some tables can be simplified to mention only the group's leader.

* lisp/align.el (align-c++-modes, align-rules-list):
Don't bother listing TS alternatives.
(align-perl-modes): Don't bother listing CPerl alternative.

* lisp/info-look.el (perl-mode): Simplify.

* lisp/cedet/semantic/symref/grep.el (semantic-symref-filepattern-alist):
Don't bother listing TS alternatives.

* lisp/emulation/viper.el (viper-vi-state-mode-list): Don't bother
listing CPerl alternative.

* lisp/progmodes/gud.el (gud-tooltip-activate-mouse-motions-if-enabled):
Take into account the modes hierarchy.
(gud-tooltip-modes): Don't bother listing TS alternatives.

* .dir-locals.el (c-ts-mode): Simplify.

2 years agoAdd non-TS modes as extra parent of TS modes (bug#68246)
Stefan Monnier [Fri, 8 Mar 2024 17:58:11 +0000 (12:58 -0500)]
Add non-TS modes as extra parent of TS modes (bug#68246)

Record the fact that TS modes are alternatives to the non-TS
modes using the new `derived-mode-add-parents` functionality.
Do the same for long standing similar issues with CPerl-mode.

* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/html-ts-mode.el (html-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode, tsx-ts-mode):
* lisp/progmodes/sh-script.el (bash-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/progmodes/python.el (python-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/json-ts-mode.el (json-ts-mode):
* lisp/progmodes/js.el (js-ts-mode):
* lisp/progmodes/java-ts-mode.el (java-ts-mode):
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-ts-mode, go-mod-ts-mode):
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/csharp-mode.el (csharp-ts-mode):
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/c-ts-mode.el (c-ts-mode, c++-ts-mode):
Add non-TS mode as extra parent.

* lisp/progmodes/cperl-mode.el (cperl-mode): Add `perl-mode` as
extra parent.

2 years ago(dir-locals-collect-variables): Avoid spurious safety warnings
Stefan Monnier [Fri, 8 Mar 2024 17:44:38 +0000 (12:44 -0500)]
(dir-locals-collect-variables): Avoid spurious safety warnings

* lisp/files.el (dir-locals-collect-variables): Silence warnings for
extra parents' variables.

2 years agoRun 'syncdoc-update-type-hierarchy'.
Andrea Corallo [Sat, 9 Mar 2024 15:14:14 +0000 (16:14 +0100)]
Run 'syncdoc-update-type-hierarchy'.

* doc/lispref/elisp_type_hierarchy.jpg: Update.
* doc/lispref/elisp_type_hierarchy.txt: Likewise.

2 years ago* 'syncdoc-type-hierarchy.el' update due to recent changes
Andrea Corallo [Sat, 9 Mar 2024 15:13:47 +0000 (16:13 +0100)]
* 'syncdoc-type-hierarchy.el' update due to recent changes

* admin/syncdoc-type-hierarchy.el (syncdoc-all-types): Update.

2 years agoAuto-commit of loaddefs files.
Eli Zaretskii [Sat, 9 Mar 2024 09:24:30 +0000 (04:24 -0500)]
Auto-commit of loaddefs files.

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 9 Mar 2024 09:18:53 +0000 (04:18 -0500)]
Merge from origin/emacs-29

b9f7a2274f6 ; Improve documentation of 'minibuffer-allow-text-propert...
5ffcca121bb ; Improve documentation of image properties
6e801077ae8 ; * src/composite.c (composition_compute_stop_pos): Add c...

2 years agoEnable stack overflow recovery on Android
Po Lu [Sat, 9 Mar 2024 08:12:40 +0000 (16:12 +0800)]
Enable stack overflow recovery on Android

* src/sysdep.c (handle_sigsegv): Return after restoring the
original signal handler, which should proceed to call debuggerd
to generate a tombstone.
(init_sigsegv): Save the original signal handler on Android, to
be restored after a signal is received.
(init_signals): Call init_sigsegv on Android.

2 years agoFix case-sensitivity in 'complete-tag'
Eli Zaretskii [Sat, 9 Mar 2024 08:09:36 +0000 (10:09 +0200)]
Fix case-sensitivity in 'complete-tag'

* lisp/progmodes/etags.el (complete-tag): Bind
'completion-ignore-case', so that 'completion-in-region' is
affected by it.  This fixes a bug made in 30 Apr 2010, when this
function was refactored to use
'tags-completion-at-point-function'.  Reported by Morgan Willcock
<morgan@ice9.digital>.

2 years agoDo interactive mode tagging for locate.el
Charalampos Mitrodimas [Thu, 7 Mar 2024 18:38:15 +0000 (18:38 +0000)]
Do interactive mode tagging for locate.el

* lisp/locate.el (locate-tags, locate-find-directory)
(locate-find-directory-other-window): Do interactive mode
tagging.  (Bug#69619)

Copyright-paperwork-exempt: yes

2 years ago(eieio--generic-subclass-specializers): Autoload class
Stefan Monnier [Fri, 8 Mar 2024 16:57:22 +0000 (11:57 -0500)]
(eieio--generic-subclass-specializers): Autoload class

* lisp/emacs-lisp/eieio-core.el (eieio--generic-subclass-specializers):
Don't forget to handle autoloaded classes.

2 years agoEIEIO: Fix regession (bug#69631)
Stefan Monnier [Fri, 8 Mar 2024 16:24:18 +0000 (11:24 -0500)]
EIEIO: Fix regession (bug#69631)

Not sure why earlier tests did not catch it, but there are more
places where we bump into problems because `eieio--class-precedence-list`
now returns also non-EIEIO classes.

* lisp/obsolete/eieio-compat.el
(eieio--generic-static-object-generalizer):
* lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
(eieio--generic-subclass-specializers): Handle non-EIEIO parents.

* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
(eieio-test-method-order-list-7): Adjust test.

2 years agoeieio-core.el: Try and fix bug#69631
Stefan Monnier [Fri, 8 Mar 2024 15:47:01 +0000 (10:47 -0500)]
eieio-core.el: Try and fix bug#69631

* lisp/emacs-lisp/eieio-core.el (eieio--class-precedence-c3)
(eieio--class-precedence-dfs, eieio--class-precedence-bfs): Use
`cl--class-parents` since some of the parents aren't EIEIO classes.

2 years ago* Fix `capitalize` entry in `comp-known-type-specifiers` (bug#69631)
Andrea Corallo [Fri, 8 Mar 2024 13:26:14 +0000 (14:26 +0100)]
* Fix `capitalize` entry in `comp-known-type-specifiers` (bug#69631)

* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers): Fix
'capitalize' entry.

2 years ago; Improve documentation of 'minibuffer-allow-text-properties'
Eli Zaretskii [Fri, 8 Mar 2024 13:06:37 +0000 (15:06 +0200)]
; Improve documentation of 'minibuffer-allow-text-properties'

* doc/lispref/minibuf.texi (Text from Minibuffer): Document the
default value of 'minibuffer-allow-text-properties'.

2 years agoUpdate android_wc_lookup_string
Po Lu [Fri, 8 Mar 2024 12:47:23 +0000 (20:47 +0800)]
Update android_wc_lookup_string

* src/android.c (android_wc_lookup_string): Don't clear compose
state upon modifier key depress.

2 years agoSimplify type hierarchy operations
Stefan Monnier [Fri, 8 Mar 2024 06:48:59 +0000 (01:48 -0500)]
Simplify type hierarchy operations

Now that built-in types have classes that describe their
relationships exactly like struct/eieio/oclosure classes,
we can the code that navigates that DAG.

* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Move to
`eieio-core.el`.
(cl--generic-type-specializers): Rename from
`cl--generic-struct-specializers`.  Make it work for any class.
(cl--generic-typeof-generalizer, cl--generic-oclosure-generalizer): Use it.
(cl--generic-struct-generalizer): Delete generalizer.
(cl-generic-generalizers :extra "cl-struct"): Delete method.
(prefill 0 cl--generic-generalizer): Move to after the typeof.
(cl-generic-generalizers :extra "typeof"): Rewrite to use
classes rather than `cl--all-builtin-types`.
(cl-generic--oclosure-specializers): Delete function.

* lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type)
(cl--typeof-types, cl--all-builtin-types): Delete constants.

* lisp/emacs-lisp/comp-cstr.el (comp--typeof-builtin-types):
Delete constant.
(comp--cl-class-hierarchy): Simplify.
(comp--compute-typeof-types): Simplify now that
`comp--cl-class-hierarchy` and `comp--all-classes` work for built-in
types as well.
(comp--direct-supertypes): Just use `cl--class-parents`.
(comp-supertypes): Simplify since typeof-types should now be complete.

* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload):
Use `superclasses` argument, so we can find parents before it's loaded.
(eieio--class-precedence-c3, eieio--class-precedence-dfs):
Don't add a `eieio-default-superclass` parent any more.
(eieio--class/struct-parents): Delete function.
(eieio--class-precedence-bfs): Use `eieio--class-parents` instead.
Don't stop when reaching `eieio-default-superclass`.
(cl--generic-struct-tag): Move from `cl-generic.el`.

2 years agoeieio-core.el: Always put a parent in the parents of a class
Stefan Monnier [Thu, 7 Mar 2024 22:45:41 +0000 (17:45 -0500)]
eieio-core.el: Always put a parent in the parents of a class

* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal):
Always put a parent in the `parents` slot of the class.

* lisp/emacs-lisp/eieio.el (eieio-class-parents): Remove the
`eieio-default-superclass` if it's the only parent.
(child-of-class-p): Handle all classes in the parents.
(eieio-default-superclass): Adjust docstring.

2 years agoMake "parentless" structs inherit from their builtin type
Stefan Monnier [Thu, 7 Mar 2024 21:58:15 +0000 (16:58 -0500)]
Make "parentless" structs inherit from their builtin type

* lisp/emacs-lisp/cl-preloaded.el (cl--struct-register-child):
Register child only in struct parents.
(cl-struct-define): Put the "type" as parent of parentless :type structs.
Copy slots only from struct parent classes.
(cl-structure-object): Set (manually) its parent to `record`
and remove assertion that it has no parents.

2 years ago* lisp/emacs-lisp/oclosure.el (oclosure): Make it a subtype of `function`
Stefan Monnier [Thu, 7 Mar 2024 20:26:12 +0000 (15:26 -0500)]
* lisp/emacs-lisp/oclosure.el (oclosure): Make it a subtype of `function`

2 years agocl-preloaded.el (built-in-class): New type
Stefan Monnier [Wed, 6 Mar 2024 21:32:35 +0000 (16:32 -0500)]
cl-preloaded.el (built-in-class): New type

Add classes describing the built-in types.

* lisp/emacs-lisp/cl-preloaded.el (built-in-class): New type.
(cl--define-built-in-type): New aux macro.
(all built-in types): "Define" them with it.
(cl--builtin-type-p): New aux function.
(cl--struct-name-p): Use it.
(cl--direct-supertypes-of-type, cl--typeof-types, cl--all-builtin-types):
Move the definitions to after the built-in classes are defined,
and rewrite to make use of those classes.

* lisp/emacs-lisp/cl-extra.el (cl-describe-type):
Accept two (unused) optional args, for use with `describe-symbol-backends`.
(describe-symbol-backends): Simplify accordingly and
add ourselves at the end.
(cl--class-children): New function.
(cl--describe-class): Use it.  Also don't show a silly empty list of slots
for the built-in types.

2 years agocomp-cstr.el: Fix a minor error and prepare for upcoming changes
Stefan Monnier [Thu, 7 Mar 2024 21:56:42 +0000 (16:56 -0500)]
comp-cstr.el: Fix a minor error and prepare for upcoming changes

* lisp/emacs-lisp/comp-cstr.el (comp--cl-class-hierarchy): Add `atom`
and `t` only to those types whose "allparents" is clearly not complete.
(comp--compute--pred-type-h): Store the cstr rather than the type
in the hash-table, as expected by `comp--pred-to-cstr`.

2 years agoDeclare 124 new Android permissions
Po Lu [Fri, 8 Mar 2024 02:58:17 +0000 (10:58 +0800)]
Declare 124 new Android permissions

* doc/emacs/android.texi (Android Environment): Document new
permissions and delete recently introduced permissions from the
list for Android 5.1 and earlier.

* java/AndroidManifest.xml.in: Declare 124 new permissions to
enable invoking features they protect from code running inside
Emacs.

2 years ago; perl-mode, cperl-mode: Fix $\" in strings (Bug#69604)
Harald Jörg [Thu, 7 Mar 2024 23:37:36 +0000 (00:37 +0100)]
; perl-mode, cperl-mode: Fix $\" in strings (Bug#69604)

* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Add to syntax-propertize-rules that $ is punctuation in strings.

* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): capture $\
to catch the edge case of "$\"".  Make $ a punctuation char in
strings and comments.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-69604):
New testcases with various combinations of $ " \

2 years agoSupport expanding Eshell globs for remote file names
Jim Porter [Wed, 6 Mar 2024 21:27:07 +0000 (13:27 -0800)]
Support expanding Eshell globs for remote file names

* lisp/eshell/em-glob.el (eshell-glob-chars-regexp): New function...
(eshell-glob-regexp): ... use it.
(eshell-glob-p): New function...
(eshell-glob-convert): ... use it, and return the deepest start
directory possible.

* lisp/eshell/esh-util.el (eshell-split-path): Rename to...
(eshell-split-path): ... this, and account for remote file names.

* test/lisp/eshell/em-glob-tests.el
(em-glob-test/convert/current-start-directory)
(em-glob-test/convert/relative-start-directory)
(em-glob-test/convert/absolute-start-directory)
(em-glob-test/convert/remote-start-directory): New tests (bug#69592).

2 years ago; * test/lisp/net/eww-tests.el (eww-test--response-function): Fix typo.
Jim Porter [Thu, 7 Mar 2024 20:19:28 +0000 (12:19 -0800)]
; * test/lisp/net/eww-tests.el (eww-test--response-function): Fix typo.

2 years agoRevert "Suppress docstring control char warning in macro-generated function"
Mattias Engdegård [Thu, 7 Mar 2024 13:29:36 +0000 (14:29 +0100)]
Revert "Suppress docstring control char warning in macro-generated function"

This reverts commit eeb89a5cb292bffe40ba7d0b0cf81f82f8452bf8.
It is no longer needed now that (lambda (...) "string") does not
have a doc string (bug#69387).

2 years agoSingle string literal in body is return value only, not doc string
Mattias Engdegård [Wed, 6 Mar 2024 11:03:06 +0000 (12:03 +0100)]
Single string literal in body is return value only, not doc string

A function or macro body consisting of a single string literal now only
uses it as a return value.  Previously, it had the dual uses as return
value and doc string, which was never what the programmer wanted and
had some inconvenient consequences (bug#69387).

This change applies to `lambda`, `defun`, `defsubst` and `defmacro`
forms; most other defining forms already worked in the sensible way.

* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda):
Don't use a lone string literal as doc string.
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el
(foo): Update docstring warning test.
* doc/lispref/functions.texi (Function Documentation): Update.
* etc/NEWS: Announce.

2 years ago; Improve documentation of image properties
Eli Zaretskii [Thu, 7 Mar 2024 08:11:44 +0000 (10:11 +0200)]
; Improve documentation of image properties

* lisp/image.el (create-image, image-property): Add to do strings
link to description of image properties in ELisp manual.

* doc/lispref/display.texi (Defining Images): Fix example and add
cross-reference to where image properties are described.
(Image Descriptors): Add index entry.

2 years ago* lisp/follow.el: Put property 'isearch-scroll' on 'follow-recenter'.
Juri Linkov [Thu, 7 Mar 2024 07:56:02 +0000 (09:56 +0200)]
* lisp/follow.el: Put property 'isearch-scroll' on 'follow-recenter'.

2 years agoWhen navigating through history in EWW, don't keep adding to 'eww-history'
Jim Porter [Sun, 18 Feb 2024 04:49:15 +0000 (20:49 -0800)]
When navigating through history in EWW, don't keep adding to 'eww-history'

This resolves an issue where navigating back and then forward kept
adding new history entries so you could never hit the "end" (bug#69232).

* lisp/net/eww.el (eww-before-browse-history-function): New option.
(eww-history-position): Add docstring.
(eww-mode-map, eww-context-menu): Use correct predicates for when to
enable back/forward.
(eww-save-history): Save history entry in its original place when
viewing a historical page.
(eww--before-browse): New function...
(eww, eww-follow-link, eww-readable): ... call it.
(eww-render): Don't set 'eww-history-position' here...
(eww--before-browse): ... instead, set it here.
(eww-back-url): Set 'eww-history-position' based on the result of
'eww-save-history'.
(eww-forward-url): Set 'eww-history-position' directly, since
'eww-save-history' no longer adds a new entry in this case.
(eww-delete-future-history, eww-clone-previous-history): New functions.

* test/lisp/net/eww-tests.el: New file.

* etc/NEWS: Announce this change.

2 years agoTramp fixes after running regression tests on Android
Michael Albinus [Wed, 6 Mar 2024 16:51:42 +0000 (17:51 +0100)]
Tramp fixes after running regression tests on Android

* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
Unset environment variable PS2.

* lisp/net/tramp-androidsu.el (tramp-default-host-alist):
Don't add an entry; `tramp-default-host' is set properly.
(tramp-androidsu-maybe-open-connection): Don't set connection
property "remote-namespace" to nil, this is the default anyway.
Don't set connection property "remote-path", we use
connection-local values instead.  Unset environment variable PS2.
Dump shell options after setting all of them.
(tramp-androidsu-handle-make-process): Don't use hard-coded user "root".
(tramp-androidsu-connection-local-default-variables): New defvar.
Add it to connection-local profiles.

2 years agoRename type_hierarchy.* -> elisp_type_hierarchy.*
Andrea Corallo [Wed, 6 Mar 2024 15:43:45 +0000 (16:43 +0100)]
Rename type_hierarchy.* -> elisp_type_hierarchy.*

* doc/lispref/elisp_type_hierarchy.txt: Renamed.
* doc/lispref/elisp_type_hierarchy.jpg: Likewise.
* doc/lispref/Makefile.in (auxfiles)
($(buildinfodir)/elisp_type_hierarchy.txt)
($(buildinfodir)/elisp_type_hierarchy.jpg): Update.
* admin/syncdoc-type-hierarchy.el (syncdoc-update-type-hierarchy0): Likewise.
* Makefile.in (install-info, uninstall): Likewise.

2 years agoRe-generate type_hierarchy.*
Andrea Corallo [Wed, 6 Mar 2024 14:50:33 +0000 (15:50 +0100)]
Re-generate type_hierarchy.*

* doc/lispref/type_hierarchy.txt: Update.
* doc/lispref/type_hierarchy.jpg: Likewise.

2 years ago* Update syncdoc to dump all preloaded type hierarchy
Andrea Corallo [Wed, 6 Mar 2024 14:41:37 +0000 (15:41 +0100)]
* Update syncdoc to dump all preloaded type hierarchy

* admin/syncdoc-type-hierarchy.el (syncdoc-file)
(syncdoc-emacs-repo-dir): New constants.
(syncdoc-lispref-dir): Make use of.
(syncdoc-all-types): New function.
(comp--direct-supertypes): Declare.
(syncdoc-hierarchy): Update.
(syncdoc-update-type-hierarchy0): Rename from
'syncdoc-update-type-hierarchy' and make non interactive.
(syncdoc-update-type-hierarchy): New function.

2 years agoDon't report files from read-only adb partitions as writable
Po Lu [Wed, 6 Mar 2024 02:48:28 +0000 (10:48 +0800)]
Don't report files from read-only adb partitions as writable

* lisp/net/tramp-adb.el (tramp-adb-handle-file-writable-p):
Ignore the file-attributes cache, since file mode is not a
reliable indicator of writability.

2 years ago; Fix last change
Po Lu [Wed, 6 Mar 2024 02:20:36 +0000 (10:20 +0800)]
; Fix last change

* lisp/net/tramp-androidsu.el
(tramp-androidsu-generate-wrapper): Arguments to fset must be
symbols rather than functions.

2 years ago* Makefile.in (install-info): Fix target (bug#69569).
Vincenzo Pupillo [Tue, 5 Mar 2024 21:36:34 +0000 (22:36 +0100)]
* Makefile.in (install-info): Fix target (bug#69569).

2 years ago; * etc/NEWS: Fix wording and punctuation of a recently added entry.
Eli Zaretskii [Tue, 5 Mar 2024 17:32:29 +0000 (19:32 +0200)]
; * etc/NEWS: Fix wording and punctuation of a recently added entry.

2 years ago* lisp/tab-bar.el (tab-bar-tab-post-select-functions): New hook (bug#69093).
Juri Linkov [Tue, 5 Mar 2024 17:14:28 +0000 (19:14 +0200)]
* lisp/tab-bar.el (tab-bar-tab-post-select-functions): New hook (bug#69093).

(tab-bar-select-tab): Call tab-bar-tab-post-select-functions at the end.

2 years agoNew property 'context-menu-functions' (bug#62250)
Juri Linkov [Tue, 5 Mar 2024 16:50:51 +0000 (18:50 +0200)]
New property 'context-menu-functions' (bug#62250)

* lisp/iimage.el (iimage-mode-buffer): Set context-menu-functions
text property to '(image-context-menu)'.

* lisp/image.el (image-context-menu): New function.
(put-image): Set context-menu-functions overlay property
to '(image-context-menu)'.
(insert-image, insert-sliced-image): Set context-menu-functions
text property to '(image-context-menu)'.

* lisp/mouse.el (context-menu-map): Use mouse-posn-property
'context-menu-functions' and call its funs at the end.

2 years ago* lisp/net/dictionary.el: More fixes for dictionary-new-matching (bug#69312)
Juri Linkov [Tue, 5 Mar 2024 16:42:49 +0000 (18:42 +0200)]
* lisp/net/dictionary.el: More fixes for dictionary-new-matching (bug#69312)

(dictionary-new-matching): Change the order of standard calls
to be the same as in 'dictionary-new-search'.
Use new function 'dictionary-new-matching-internal'.
(dictionary-new-matching-internal): New function based on
'dictionary-new-search-internal'.

2 years ago* Makefile.in (uninstall): Clean-up type_hierarchy* files.
Andrea Corallo [Tue, 5 Mar 2024 14:21:44 +0000 (15:21 +0100)]
* Makefile.in (uninstall): Clean-up type_hierarchy* files.

2 years ago* Makefile.in (install-info): Install type_hierarchy* files as well.
Andrea Corallo [Tue, 5 Mar 2024 14:07:05 +0000 (15:07 +0100)]
* Makefile.in (install-info): Install type_hierarchy* files as well.

2 years ago* Copy type hierarchy representation to the info dir
Andrea Corallo [Tue, 5 Mar 2024 10:48:08 +0000 (11:48 +0100)]
* Copy type hierarchy representation to the info dir

* doc/lispref/Makefile.in (auxfiles)
($(buildinfodir)/type_hierarchy.txt)
($(buildinfodir)/type_hierarchy.jpg): New targets.
($(buildinfodir)/elisp.info): Add dependecy.

2 years agoAdapt tramp.texi
Michael Albinus [Tue, 5 Mar 2024 10:17:48 +0000 (11:17 +0100)]
Adapt tramp.texi

* doc/misc/tramp.texi (Quick Start Guide): Add androidsu.
(Inline methods): Make androidsu an own item.

2 years agodisass.el (disassemble-1): Minor simplification
Stefan Monnier [Tue, 5 Mar 2024 04:42:50 +0000 (23:42 -0500)]
disass.el (disassemble-1): Minor simplification

* lisp/emacs-lisp/disass.el (disassemble-1): Remove code for functions
of the form (lambda ARGS (byte-code ...)) which we don't use any
more nowadays.

2 years agocl-preloaded.el: Further fine-tuning
Stefan Monnier [Tue, 5 Mar 2024 04:12:29 +0000 (23:12 -0500)]
cl-preloaded.el: Further fine-tuning

* lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type):
Fix some left over issues:
- Remove redundant `number-or-marker` from `marker`s parents.
- Add `function` to the types, since it was missing.
(cl--typeof-types): Add a warning for missing type info.

* admin/syncdoc-type-hierarchy.el (syncdoc-hierarchy): Fix parent of
`oclosure`.

* doc/lispref/type_hierarchy.txt:
* doc/lispref/type_hierarchy.jpg: Update.

2 years agoRearrange Android splash screen messages
Po Lu [Tue, 5 Mar 2024 03:23:27 +0000 (11:23 +0800)]
Rearrange Android splash screen messages

* lisp/startup.el (fancy-startup-tail, fancy-startup-screen)
(normal-splash-screen): Adjust for function renaming; move the
storage permissions notice to the top of the splash screen.

* lisp/term/android-win.el (android-after-splash-screen): Rename
from android-before-splash-screen and adjust layout lightly.

* src/android.c (android_wc_lookup_string): Terminate character
composition after a character is returned, whether it contain a
Unicode character or not.